#ifndef SOUND_ENGINE_H
#define SOUND_ENGINE_H

#include "Common/Common.h"
#include "Speaker.h"

namespace sound {

	class SoundEngine {
	public:
		static void Create( );
		static void Destroy( );

		static void RegisterSpeaker( const Speaker& speaker );
		static void UnregisterSpeaker( const Speaker& speaker );

		static void RegisterBuffer( const std::string& bufferName );
		static void UnregisterBuffer( const std::string& bufferName );
		static bool BufferIsRegistered( const std::string& bufferName );

		static void Play( const Speaker& speaker, const std::string& bufferName );
		static void Stop( const Speaker& speaker );
		static void Pause( const Speaker& speaker );
		static void Update( const Speaker& speaker );

		static void SetListener( const Vec2& position, const Vec2& orientaion, const Vec2& velocity );
	};
}
#endif
